//
//  NSString+Extension.m
//  IceKuangjia
//
//  Created by cooptec on 2017/4/17.
//  Copyright © 2017年 sanmi. All rights reserved.
//

#import "NSString+Extension.h"
#import <CommonCrypto/CommonDigest.h>

@implementation NSString (Extension)

- (CGFloat)getWidthWithFont:(UIFont *)font
{
    NSDictionary *dic = @{NSFontAttributeName : font};
    CGSize max_Size = CGSizeMake(CGFLOAT_MAX, CGFLOAT_MAX);
    CGSize afterSize = [self boundingRectWithSize:max_Size options:NSStringDrawingUsesLineFragmentOrigin attributes:dic context:nil].size;
    return afterSize.width;
}

- (CGFloat)getHeightWithFont:(UIFont *)font andWidth:(CGFloat)width
{
    NSDictionary *dic = @{NSFontAttributeName : font};
    
    CGSize max_Size = CGSizeMake(width, CGFLOAT_MAX);
    CGSize afterSize = [self boundingRectWithSize:max_Size options:NSStringDrawingUsesLineFragmentOrigin attributes:dic context:nil].size;
    return afterSize.height;
}

// 对字符串进行md5 加密

- (NSString *)getMD5String
{
    const char *cStr = [self UTF8String];
    unsigned char result[16];
    CC_MD5(cStr, (CC_LONG)strlen(cStr), result);
    return [NSString stringWithFormat:
            @"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",
            result[0], result[1], result[2], result[3],
            result[4], result[5], result[6], result[7],
            result[8], result[9], result[10], result[11],
            result[12], result[13], result[14], result[15]
            ];
}


@end
